package com.it.travel01.utils;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.it.travel01.vo.PageBean;

public class ConvertUtil {
    /**
     * 将MP的分页对象转PageBean对象
     * @param pageInfo
     * @param <T>
     * @return
     */
    public static<T> PageBean<T>  transferPageBean(IPage<T> pageInfo){
        if (pageInfo==null) {
            return null;
        }
        //4.因为PageInfo对象下涵盖了太多的分页信息，当前页面只需要局部的几个信息，所以我们进行一个转换
        PageBean<T> pageBean = new PageBean<>();
        //设置当前页的数据
        pageBean.setData(pageInfo.getRecords());
        //设置当前页
        pageBean.setCurPage(pageInfo.getCurrent());
        //设置首页
        pageBean.setFirstPage(1L);
        //设置下一页
        //获取总页数
        long totalPages = pageInfo.getPages();
        long nextPage=pageInfo.getCurrent()+1>totalPages?totalPages:pageInfo.getCurrent()+1;
        pageBean.setNextPage(nextPage);
        //设置总页数
        pageBean.setTotalPage(totalPages);
        //设置记录数
        pageBean.setCount(pageInfo.getTotal());
        return pageBean;
    }
}
